package com.moli.iov.down.model.dto.req;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * <p>
 *
 * </p>
 *
 * @author zql
 * @since 2019/9/16 17:49
 */
@Data
public class VehicleCommandDto extends BaseDto implements Serializable {

  /**
   * 车架号
   */
  private String vin;

  /**
   * 车架号集合 批量下发指令
   */
  private List<String> vins;

  /**
   * 命令集合 租赁模式\钥匙状态\动力控制
   */
  @NotNull(message = "命令不能为空", groups = {Control.class})
  private List<Integer> operateTypes;

  /**
   * 原因说明
   */
  private String memo;

  /**
   * ip
   */
  private String ip;

  /**
   * 端口
   */
  private Integer port;

  /**
   * 上传频率
   */
  private Integer frequency;

  /**
   * 版本
   */
  private String version;

  /**
   * 车牌号
   */
  private String license;

  /**
   * 公司id
   */
  private Long companyId;

  /**
   * 公司名称
   */
  private String companyName;

  /**
   * 升级url
   */
  private String upgradeUrl;

  /**
   * 车辆基本信息
   */
  private Map<String, VehicleCommandBaseDto> vehicleCommandBaseDtoMap;

  public interface Control{}
}
